package com.sunrise.relatorios.bean;

import java.util.Arrays;

import javax.annotation.Resource;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ComponentSystemEvent;

import lombok.Getter;

import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Controller;

import com.sunrise.generico.entidade.Estado;
import com.sunrise.generico.entidade.Usuario;
import com.sunrise.generico.enums.CamposXls;
import com.sunrise.generico.enums.TipoPessoaEnum;
import com.sunrise.generico.enums.TipoSexo;
import com.sunrise.relatorios.servico.GerarRelatoriosPessoasService;
import com.sunrise.relatorios.visao.GerarRelatoriosPessoasForm;


@ManagedBean
@ViewScoped
@Controller
public class GerarRelatoriosPessoasBean {

	@Resource
	@Getter
	private GerarRelatoriosPessoasService gerarRelatoriosPessoasService;

	@Resource
	@Getter
	private GerarRelatoriosPessoasForm formulario;

	
	public void preRenderExportarPessoas(ComponentSystemEvent event){
		getFormulario().setEstado(new Estado());
		getFormulario().setTiposPessoa(Arrays.asList(TipoPessoaEnum.values()));
		getFormulario().setTiposSexo(Arrays.asList(TipoSexo.values()));
		getFormulario().setEstados(getGerarRelatoriosPessoasService().listarEstados());
	}
	
	public Usuario obterUsuarioLogado() {
		Authentication auth = SecurityContextHolder.getContext().getAuthentication();
		return getGerarRelatoriosPessoasService().buscarUsuarioPorUsername(auth.getName());
	}

	public void preRenderImportarPessoas(ComponentSystemEvent event){
		getFormulario().setTiposPessoa(Arrays.asList(TipoPessoaEnum.values()));
		getFormulario().setFiliais(getGerarRelatoriosPessoasService().listarFiliais());
		getFormulario().setListaCamposXls(Arrays.asList(CamposXls.values()));
	}
	

	public void importarXLS(){
	}
	
	
	public void importarXML(){
	}

	
	
}
